package com.ruoyi.hisoutpbill.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.util.Date;
import java.util.Objects;

/**
 * @ClassName OutpBillItemsDo
 * @Author samula
 * @Descripe product by com.doctcloud
 * @Data 2025-09-23 2:30
 **/
public class OutpBillItemsDo extends BaseEntity {
    private static final long serialVersionUID = 1L;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "就诊日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date visitDate;
    @Excel(name="就诊序号")
    private Integer visitNo;
    @Excel(name="单据号")
    private String rcptNo;
    @Excel(name="序号")
    private Integer itemNo;
    @Excel(name="项目分类代码")
    private String itemClass;
    @Excel(name="项目代码")
    private String itemCode;
    @Excel(name="项目名称")
    private String itemName;
    @Excel(name="数量")
    private Integer amount;
    @Excel(name="计价金额")
    private Double costs;
    @Excel(name="应收金额")
    private Double charges;
    @Excel(name="单位")
    private String units;

    public OutpBillItemsDo() {
    }

    public OutpBillItemsDo(Date visitDate, Integer visitNo, String rcptNo, Integer itemNo, String itemClass, String itemCode, String itemName, Integer amount, Double costs, Double charges, String units) {
        this.visitDate = visitDate;
        this.visitNo = visitNo;
        this.rcptNo = rcptNo;
        this.itemNo = itemNo;
        this.itemClass = itemClass;
        this.itemCode = itemCode;
        this.itemName = itemName;
        this.amount = amount;
        this.costs = costs;
        this.charges = charges;
        this.units = units;
    }

    public Date getVisitDate() {
        return visitDate;
    }

    public void setVisitDate(Date visitDate) {
        this.visitDate = visitDate;
    }

    public Integer getVisitNo() {
        return visitNo;
    }

    public void setVisitNo(Integer visitNo) {
        this.visitNo = visitNo;
    }

    public String getRcptNo() {
        return rcptNo;
    }

    public void setRcptNo(String rcptNo) {
        this.rcptNo = rcptNo;
    }

    public Integer getItemNo() {
        return itemNo;
    }

    public void setItemNo(Integer itemNo) {
        this.itemNo = itemNo;
    }

    public String getItemClass() {
        return itemClass;
    }

    public void setItemClass(String itemClass) {
        this.itemClass = itemClass;
    }

    public String getItemCode() {
        return itemCode;
    }

    public void setItemCode(String itemCode) {
        this.itemCode = itemCode;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    public Double getCosts() {
        return costs;
    }

    public void setCosts(Double costs) {
        this.costs = costs;
    }

    public Double getCharges() {
        return charges;
    }

    public void setCharges(Double charges) {
        this.charges = charges;
    }

    public String getUnits() {
        return units;
    }

    public void setUnits(String units) {
        this.units = units;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        OutpBillItemsDo that = (OutpBillItemsDo) o;
        return Objects.equals(visitDate, that.visitDate) && Objects.equals(visitNo, that.visitNo) && Objects.equals(itemNo, that.itemNo);
    }

    @Override
    public int hashCode() {
        return Objects.hash(visitDate, visitNo, itemNo);
    }

    @Override
    public String toString() {
        return "OutpBillItemsDo{" +
                "visitDate=" + visitDate +
                ", visitNo=" + visitNo +
                ", rcptNo='" + rcptNo + '\'' +
                ", itemNo=" + itemNo +
                ", itemClass='" + itemClass + '\'' +
                ", itemCode='" + itemCode + '\'' +
                ", itemName='" + itemName + '\'' +
                ", amount=" + amount +
                ", costs=" + costs +
                ", charges=" + charges +
                ", units='" + units + '\'' +
                '}';
    }
}
